package shixhun;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/*java.sql.Date是java.util.Data的子类*/
public class Demo8 {
    public static void main(String[] args)  throws ParseException {
        //将用户输入的数据以日期的类型添加到数据库中
        String dateStr = "2022-12月27";
        //将用户输入的数据以日期的类型添加到java.util.Date
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM月dd");
        Date date = sdf.parse(dateStr);
        System.out.println(date);
        java.sql.Date date1 = new java.sql.Date(date.getTime());
        System.out.println(date1);
        //将数据库中的日期类的数据，使用特殊格式进行显示到页面中
        Date date2 = date1;
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
        String datestr1 = sdf2.format((date2));
        System.out.println(datestr1);



        // 获取用户的出生日期
        String birthDateStr = "2000-01-01";
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
        Date birthDate = sdf1.parse(birthDateStr);

        // 获取当前日期
        Date currentDate = new Date();

        // 计算两个日期之间的时间差
        long diff = currentDate.getTime() - birthDate.getTime();

        // 将时间差转换为 Calendar 对象
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(diff);

        // 获取时间差对应的年、月、日的值
        int years = calendar.get(Calendar.YEAR) - 1970;
        int months = calendar.get(Calendar.MONTH);
        int days = calendar.get(Calendar.DAY_OF_MONTH) - 1;

        System.out.println("你从出生到现在已经活了 " + years + " 年 " + months + " 月 " + days + " 天。");
    }
}
